#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void SortCount(int arr[],int sz)
{
  int Max;int Min;
  Max = Min = arr[0];
  int i = 0;
  for(i = 0;i<sz;i++)
  {
    if(arr[i] > Max)
    {
      Max = arr[i];
    }
    if(arr[i] < Min)
    {
      Min = arr[i];
    }
  }
  int* tmp = (int*)malloc(sizeof(int)*(Max - Min + 1));
  for(i = 0;i<sz;i++)
  {
    tmp[arr[i]-Min]++;
  }
  
  int j = 0;
  for(i = 0;i<(Max-Min+1);i++)
  {
    while(tmp[i]--)
    {
      arr[j++] = i + Min;
    }
  }

}

void Print(int arr[],int sz)
{
  int i = 0;
  for(i = 0;i<sz;i++)
  {
    printf("%d\n",arr[i]);
  }
}

void TestDemo()
{
  int arr[] = {234,221,229,279,290,390};
  int sz = sizeof(arr)/sizeof(arr[0]);

  SortCount(arr,sz);
  Print(arr,sz);
}

int main()
{
  TestDemo();
}
